Skip to content

Add theme-aware figures: restyle fig-catalog-status, add row-basis figure - #57

Merged
open-coder-ai-org merged 2 commits into
mainfrom
launch/block2
Sep 9, 2026
Merged

Add theme-aware figures: restyle fig-catalog-status, add row-basis figure#57
open-coder-ai-org merged 2 commits into
mainfrom
launch/block2

Conversation

@open-coder-ai-org

@open-coder-ai-org open-coder-ai-org commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Copies the open-coder-ai shared visual language (docs/figures/palette.py, make_family.py, family-{light,dark}.svg) byte-identical from the shared source, per BRIEF.md.
  • Restyles the existing fig-catalog-status figure (18 catalog plugins × 4 measured attributes) from its matplotlib generator into a light/dark SVG pair over the same real data, same measurement, only presentation changed.
  • Adds a new fig-row-basis figure: the distribution of row bases (recomputed from the artifact / the author's claim / not measured this run — the last shown as neutral absence, never a weak grade) in the exact report.json the README's own quickstart block produces, so the figure and the JSON can never disagree.
  • Embeds all three figures plus the family diagram in README.md, each as a light/dark <picture> pair pointing at raw.githubusercontent.com with real alt text.
  • Adds a social-preview card (docs/figures/social-card.svg/.png, 1280×640, light-only, no logo).
  • Adds a figures CI job that regenerates every docs/figures/make_*.py output and fails the build on drift.

Test plan

  • python -m pytest -q — 407 passed, 1 skipped (matplotlib-version-pinned byte-compare test, pre-existing skip condition)
  • python -m ruff check . — all checks passed
  • python -m ruff format --check . — all files already formatted
  • Re-ran the README's quickstart block fresh; the three example rows' inputHash, result, measurement and reasoning values byte-match what's pasted in the README
  • Rendered both new figures to PNG with cairosvg at width 760 and eyeballed light, dark and greyscale renders — no overlap, no color-only distinctions
  • Proved the drift job: hand-edited a committed figure, regenerated, git diff --exit-code -- docs/figures failed (exit 1) on the tampered line; restored and re-verified clean (exit 0)

🤖 Generated with Claude Code

…gure

Brings the README's figures into the open-coder-ai shared visual language
(docs/figures/palette.py, copied byte-identical from the family's shared
source): fig-catalog-status is restyled from its existing matplotlib
generator into a light/dark SVG pair over the same 18-plugin catalog
sample data, and a new fig-row-basis figure shows the distribution of row
bases (recomputed / claimed / not-measured) in the report.json the
README's own quickstart block produces, so the figure can never disagree
with the JSON. Also carries the family diagram and a social-preview card,
per BRIEF.md, and a CI job that regenerates every figure and fails the
build on drift.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
This repo's ruff select is stricter than its siblings' (PL, FBT, ARG), and
it flagged 14 findings in the shared docs/figures/palette.py and
make_family.py. Excluding both files from lint was the wrong answer: it
would also hide an undefined name or an unused import in a file nobody
edits here and four repositories depend on staying identical.

Two of the findings were real and are fixed at the shared source instead:
_block's `filled` flag is keyword-only (FBT003 at four call sites) and
render's unused `name` parameter is now `_name` (ARG001). The rest are
PLR0913/PLR0917 on the drawing primitives, which take many arguments
because they take coordinates, so they are ignored by name for exactly
those two paths. Verified the files are still linted by appending an
unused import and watching F401 fire.

make_family.py re-copied from the corrected shared source; every generated
SVG is byte-identical. 408 tests pass, ruff check and ruff format --check
are clean.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Claude <noreply@anthropic.com>
@open-coder-ai-org
open-coder-ai-org marked this pull request as ready for review September 9, 2026 01:50
@open-coder-ai-org
open-coder-ai-org merged commit 13a8bf2 into main Sep 9, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants